# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s

vbroadcasti128  (%rax), %ymm0

vbroadcastsd    %xmm0, %ymm0
vbroadcastss    %xmm0, %ymm0

vextracti128    $1, %ymm0, %xmm2
vextracti128    $1, %ymm0, (%rax)

vgatherdpd      %xmm0, (%rax,%xmm1,2), %xmm2
vgatherdpd      %ymm0, (%rax,%xmm1,2), %ymm2

vgatherdps      %xmm0, (%rax,%xmm1,2), %xmm2
vgatherdps      %ymm0, (%rax,%ymm1,2), %ymm2

vgatherqpd      %xmm0, (%rax,%xmm1,2), %xmm2
vgatherqpd      %ymm0, (%rax,%ymm1,2), %ymm2

vgatherqps      %xmm0, (%rax,%xmm1,2), %xmm2
vgatherqps      %xmm0, (%rax,%ymm1,2), %xmm2

vinserti128     $1, %xmm0, %ymm1, %ymm2
vinserti128     $1, (%rax), %ymm1, %ymm2

vmovntdqa       (%rax), %ymm0

vmpsadbw        $1, %ymm0, %ymm1, %ymm2
vmpsadbw        $1, (%rax), %ymm1, %ymm2

vpabsb          %ymm0, %ymm2
vpabsb          (%rax), %ymm2

vpabsd          %ymm0, %ymm2
vpabsd          (%rax), %ymm2

vpabsw          %ymm0, %ymm2
vpabsw          (%rax), %ymm2

vpackssdw       %ymm0, %ymm1, %ymm2
vpackssdw       (%rax), %ymm1, %ymm2

vpacksswb       %ymm0, %ymm1, %ymm2
vpacksswb       (%rax), %ymm1, %ymm2

vpackusdw       %ymm0, %ymm1, %ymm2
vpackusdw       (%rax), %ymm1, %ymm2

vpackuswb       %ymm0, %ymm1, %ymm2
vpackuswb       (%rax), %ymm1, %ymm2

vpaddb          %ymm0, %ymm1, %ymm2
vpaddb          (%rax), %ymm1, %ymm2

vpaddd          %ymm0, %ymm1, %ymm2
vpaddd          (%rax), %ymm1, %ymm2

vpaddq          %ymm0, %ymm1, %ymm2
vpaddq          (%rax), %ymm1, %ymm2

vpaddsb         %ymm0, %ymm1, %ymm2
vpaddsb         (%rax), %ymm1, %ymm2

vpaddsw         %ymm0, %ymm1, %ymm2
vpaddsw         (%rax), %ymm1, %ymm2

vpaddusb        %ymm0, %ymm1, %ymm2
vpaddusb        (%rax), %ymm1, %ymm2

vpaddusw        %ymm0, %ymm1, %ymm2
vpaddusw        (%rax), %ymm1, %ymm2

vpaddw          %ymm0, %ymm1, %ymm2
vpaddw          (%rax), %ymm1, %ymm2

vpalignr        $1, %ymm0, %ymm1, %ymm2
vpalignr        $1, (%rax), %ymm1, %ymm2

vpand           %ymm0, %ymm1, %ymm2
vpand           (%rax), %ymm1, %ymm2

vpandn          %ymm0, %ymm1, %ymm2
vpandn          (%rax), %ymm1, %ymm2

vpavgb          %ymm0, %ymm1, %ymm2
vpavgb          (%rax), %ymm1, %ymm2

vpavgw          %ymm0, %ymm1, %ymm2
vpavgw          (%rax), %ymm1, %ymm2

vpblendd        $11, %xmm0, %xmm1, %xmm2
vpblendd        $11, (%rax), %xmm1, %xmm2

vpblendd        $11, %ymm0, %ymm1, %ymm2
vpblendd        $11, (%rax), %ymm1, %ymm2

vpblendvb       %ymm3, %ymm0, %ymm1, %ymm2
vpblendvb       %ymm3, (%rax), %ymm1, %ymm2

vpblendw        $11, %ymm0, %ymm1, %ymm2
vpblendw        $11, (%rax), %ymm1, %ymm2

vpbroadcastb    %xmm0, %xmm0
vpbroadcastb    (%rax), %xmm0

vpbroadcastb    %xmm0, %ymm0
vpbroadcastb    (%rax), %ymm0

vpbroadcastd    %xmm0, %xmm0
vpbroadcastd    (%rax), %xmm0

vpbroadcastd    %xmm0, %ymm0
vpbroadcastd    (%rax), %ymm0

vpbroadcastq    %xmm0, %xmm0
vpbroadcastq    (%rax), %xmm0

vpbroadcastq    %xmm0, %ymm0
vpbroadcastq    (%rax), %ymm0

vpbroadcastw    %xmm0, %xmm0
vpbroadcastw    (%rax), %xmm0

vpbroadcastw    %xmm0, %ymm0
vpbroadcastw    (%rax), %ymm0

vpcmpeqb        %ymm0, %ymm1, %ymm2
vpcmpeqb        (%rax), %ymm1, %ymm2

vpcmpeqd        %ymm0, %ymm1, %ymm2
vpcmpeqd        (%rax), %ymm1, %ymm2

vpcmpeqq        %ymm0, %ymm1, %ymm2
vpcmpeqq        (%rax), %ymm1, %ymm2

vpcmpeqw        %ymm0, %ymm1, %ymm2
vpcmpeqw        (%rax), %ymm1, %ymm2

vpcmpgtb        %ymm0, %ymm1, %ymm2
vpcmpgtb        (%rax), %ymm1, %ymm2

vpcmpgtd        %ymm0, %ymm1, %ymm2
vpcmpgtd        (%rax), %ymm1, %ymm2

vpcmpgtq        %ymm0, %ymm1, %ymm2
vpcmpgtq        (%rax), %ymm1, %ymm2

vpcmpgtw        %ymm0, %ymm1, %ymm2
vpcmpgtw        (%rax), %ymm1, %ymm2

vperm2i128      $1, %ymm0, %ymm1, %ymm2
vperm2i128      $1, (%rax), %ymm1, %ymm2

vpermd          %ymm0, %ymm1, %ymm2
vpermd          (%rax), %ymm1, %ymm2

vpermpd         $1, %ymm0, %ymm2
vpermpd         $1, (%rax), %ymm2

vpermps         %ymm0, %ymm1, %ymm2
vpermps         (%rax), %ymm1, %ymm2

vpermq          $1, %ymm0, %ymm2
vpermq          $1, (%rax), %ymm2

vpgatherdd      %xmm0, (%rax,%xmm1,2), %xmm2
vpgatherdd      %ymm0, (%rax,%ymm1,2), %ymm2

vpgatherdq      %xmm0, (%rax,%xmm1,2), %xmm2
vpgatherdq      %ymm0, (%rax,%xmm1,2), %ymm2

vpgatherqd      %xmm0, (%rax,%xmm1,2), %xmm2
vpgatherqd      %xmm0, (%rax,%ymm1,2), %xmm2

vpgatherqq      %xmm0, (%rax,%xmm1,2), %xmm2
vpgatherqq      %ymm0, (%rax,%ymm1,2), %ymm2

vphaddd         %ymm0, %ymm1, %ymm2
vphaddd         (%rax), %ymm1, %ymm2

vphaddsw        %ymm0, %ymm1, %ymm2
vphaddsw        (%rax), %ymm1, %ymm2

vphaddw         %ymm0, %ymm1, %ymm2
vphaddw         (%rax), %ymm1, %ymm2

vphsubd         %ymm0, %ymm1, %ymm2
vphsubd         (%rax), %ymm1, %ymm2

vphsubsw        %ymm0, %ymm1, %ymm2
vphsubsw        (%rax), %ymm1, %ymm2

vphsubw         %ymm0, %ymm1, %ymm2
vphsubw         (%rax), %ymm1, %ymm2

vpmaddubsw      %ymm0, %ymm1, %ymm2
vpmaddubsw      (%rax), %ymm1, %ymm2

vpmaddwd        %ymm0, %ymm1, %ymm2
vpmaddwd        (%rax), %ymm1, %ymm2

vpmaskmovd      (%rax), %xmm0, %xmm2
vpmaskmovd      (%rax), %ymm0, %ymm2

vpmaskmovd      %xmm0, %xmm1, (%rax)
vpmaskmovd      %ymm0, %ymm1, (%rax)

vpmaskmovq      (%rax), %xmm0, %xmm2
vpmaskmovq      (%rax), %ymm0, %ymm2

vpmaskmovq      %xmm0, %xmm1, (%rax)
vpmaskmovq      %ymm0, %ymm1, (%rax)

vpmaxsb         %ymm0, %ymm1, %ymm2
vpmaxsb         (%rax), %ymm1, %ymm2

vpmaxsd         %ymm0, %ymm1, %ymm2
vpmaxsd         (%rax), %ymm1, %ymm2

vpmaxsw         %ymm0, %ymm1, %ymm2
vpmaxsw         (%rax), %ymm1, %ymm2

vpmaxub         %ymm0, %ymm1, %ymm2
vpmaxub         (%rax), %ymm1, %ymm2

vpmaxud         %ymm0, %ymm1, %ymm2
vpmaxud         (%rax), %ymm1, %ymm2

vpmaxuw         %ymm0, %ymm1, %ymm2
vpmaxuw         (%rax), %ymm1, %ymm2

vpminsb         %ymm0, %ymm1, %ymm2
vpminsb         (%rax), %ymm1, %ymm2

vpminsd         %ymm0, %ymm1, %ymm2
vpminsd         (%rax), %ymm1, %ymm2

vpminsw         %ymm0, %ymm1, %ymm2
vpminsw         (%rax), %ymm1, %ymm2

vpminub         %ymm0, %ymm1, %ymm2
vpminub         (%rax), %ymm1, %ymm2

vpminud         %ymm0, %ymm1, %ymm2
vpminud         (%rax), %ymm1, %ymm2

vpminuw         %ymm0, %ymm1, %ymm2
vpminuw         (%rax), %ymm1, %ymm2

vpmovmskb       %ymm0, %rcx

vpmovsxbd       %xmm0, %ymm2
vpmovsxbd       (%rax), %ymm2

vpmovsxbq       %xmm0, %ymm2
vpmovsxbq       (%rax), %ymm2

vpmovsxbw       %xmm0, %ymm2
vpmovsxbw       (%rax), %ymm2

vpmovsxdq       %xmm0, %ymm2
vpmovsxdq       (%rax), %ymm2

vpmovsxwd       %xmm0, %ymm2
vpmovsxwd       (%rax), %ymm2

vpmovsxwq       %xmm0, %ymm2
vpmovsxwq       (%rax), %ymm2

vpmovzxbd       %xmm0, %ymm2
vpmovzxbd       (%rax), %ymm2

vpmovzxbq       %xmm0, %ymm2
vpmovzxbq       (%rax), %ymm2

vpmovzxbw       %xmm0, %ymm2
vpmovzxbw       (%rax), %ymm2

vpmovzxdq       %xmm0, %ymm2
vpmovzxdq       (%rax), %ymm2

vpmovzxwd       %xmm0, %ymm2
vpmovzxwd       (%rax), %ymm2

vpmovzxwq       %xmm0, %ymm2
vpmovzxwq       (%rax), %ymm2

vpmuldq         %ymm0, %ymm1, %ymm2
vpmuldq         (%rax), %ymm1, %ymm2

vpmulhrsw       %ymm0, %ymm1, %ymm2
vpmulhrsw       (%rax), %ymm1, %ymm2

vpmulhuw        %ymm0, %ymm1, %ymm2
vpmulhuw        (%rax), %ymm1, %ymm2

vpmulhw         %ymm0, %ymm1, %ymm2
vpmulhw         (%rax), %ymm1, %ymm2

vpmulld         %ymm0, %ymm1, %ymm2
vpmulld         (%rax), %ymm1, %ymm2

vpmullw         %ymm0, %ymm1, %ymm2
vpmullw         (%rax), %ymm1, %ymm2

vpmuludq        %ymm0, %ymm1, %ymm2
vpmuludq        (%rax), %ymm1, %ymm2

vpor            %ymm0, %ymm1, %ymm2
vpor            (%rax), %ymm1, %ymm2

vpsadbw         %ymm0, %ymm1, %ymm2
vpsadbw         (%rax), %ymm1, %ymm2

vpshufb         %ymm0, %ymm1, %ymm2
vpshufb         (%rax), %ymm1, %ymm2

vpshufd         $1, %ymm0, %ymm2
vpshufd         $1, (%rax), %ymm2

vpshufhw        $1, %ymm0, %ymm2
vpshufhw        $1, (%rax), %ymm2

vpshuflw        $1, %ymm0, %ymm2
vpshuflw        $1, (%rax), %ymm2

vpsignb         %ymm0, %ymm1, %ymm2
vpsignb         (%rax), %ymm1, %ymm2

vpsignd         %ymm0, %ymm1, %ymm2
vpsignd         (%rax), %ymm1, %ymm2

vpsignw         %ymm0, %ymm1, %ymm2
vpsignw         (%rax), %ymm1, %ymm2

vpslld          $1, %ymm0, %ymm2
vpslld          %xmm0, %ymm1, %ymm2
vpslld          (%rax), %ymm1, %ymm2

vpslldq         $1, %ymm1, %ymm2

vpsllq          $1, %ymm0, %ymm2
vpsllq          %xmm0, %ymm1, %ymm2
vpsllq          (%rax), %ymm1, %ymm2

vpsllvd         %xmm0, %xmm1, %xmm2
vpsllvd         (%rax), %xmm1, %xmm2

vpsllvd         %ymm0, %ymm1, %ymm2
vpsllvd         (%rax), %ymm1, %ymm2

vpsllvq         %xmm0, %xmm1, %xmm2
vpsllvq         (%rax), %xmm1, %xmm2

vpsllvq         %ymm0, %ymm1, %ymm2
vpsllvq         (%rax), %ymm1, %ymm2

vpsllw          $1, %ymm0, %ymm2
vpsllw          %xmm0, %ymm1, %ymm2
vpsllw          (%rax), %ymm1, %ymm2

vpsrad          $1, %ymm0, %ymm2
vpsrad          %xmm0, %ymm1, %ymm2
vpsrad          (%rax), %ymm1, %ymm2

vpsravd         %xmm0, %xmm1, %xmm2
vpsravd         (%rax), %xmm1, %xmm2

vpsravd         %ymm0, %ymm1, %ymm2
vpsravd         (%rax), %ymm1, %ymm2

vpsraw          $1, %ymm0, %ymm2
vpsraw          %xmm0, %ymm1, %ymm2
vpsraw          (%rax), %ymm1, %ymm2

vpsrld          $1, %ymm0, %ymm2
vpsrld          %xmm0, %ymm1, %ymm2
vpsrld          (%rax), %ymm1, %ymm2

vpsrldq         $1, %ymm1, %ymm2

vpsrlq          $1, %ymm0, %ymm2
vpsrlq          %xmm0, %ymm1, %ymm2
vpsrlq          (%rax), %ymm1, %ymm2

vpsrlvd         %xmm0, %xmm1, %xmm2
vpsrlvd         (%rax), %xmm1, %xmm2

vpsrlvd         %ymm0, %ymm1, %ymm2
vpsrlvd         (%rax), %ymm1, %ymm2

vpsrlvq         %xmm0, %xmm1, %xmm2
vpsrlvq         (%rax), %xmm1, %xmm2

vpsrlvq         %ymm0, %ymm1, %ymm2
vpsrlvq         (%rax), %ymm1, %ymm2

vpsrlw          $1, %ymm0, %ymm2
vpsrlw          %xmm0, %ymm1, %ymm2
vpsrlw          (%rax), %ymm1, %ymm2

vpsubb          %ymm0, %ymm1, %ymm2
vpsubb          (%rax), %ymm1, %ymm2

vpsubd          %ymm0, %ymm1, %ymm2
vpsubd          (%rax), %ymm1, %ymm2

vpsubq          %ymm0, %ymm1, %ymm2
vpsubq          (%rax), %ymm1, %ymm2

vpsubsb         %ymm0, %ymm1, %ymm2
vpsubsb         (%rax), %ymm1, %ymm2

vpsubsw         %ymm0, %ymm1, %ymm2
vpsubsw         (%rax), %ymm1, %ymm2

vpsubusb        %ymm0, %ymm1, %ymm2
vpsubusb        (%rax), %ymm1, %ymm2

vpsubusw        %ymm0, %ymm1, %ymm2
vpsubusw        (%rax), %ymm1, %ymm2

vpsubw          %ymm0, %ymm1, %ymm2
vpsubw          (%rax), %ymm1, %ymm2

vpunpckhbw      %ymm0, %ymm1, %ymm2
vpunpckhbw      (%rax), %ymm1, %ymm2

vpunpckhdq      %ymm0, %ymm1, %ymm2
vpunpckhdq      (%rax), %ymm1, %ymm2

vpunpckhqdq     %ymm0, %ymm1, %ymm2
vpunpckhqdq     (%rax), %ymm1, %ymm2

vpunpckhwd      %ymm0, %ymm1, %ymm2
vpunpckhwd      (%rax), %ymm1, %ymm2

vpunpcklbw      %ymm0, %ymm1, %ymm2
vpunpcklbw      (%rax), %ymm1, %ymm2

vpunpckldq      %ymm0, %ymm1, %ymm2
vpunpckldq      (%rax), %ymm1, %ymm2

vpunpcklqdq     %ymm0, %ymm1, %ymm2
vpunpcklqdq     (%rax), %ymm1, %ymm2

vpunpcklwd      %ymm0, %ymm1, %ymm2
vpunpcklwd      (%rax), %ymm1, %ymm2

vpxor           %ymm0, %ymm1, %ymm2
vpxor           (%rax), %ymm1, %ymm2

# CHECK:      Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
# CHECK-NEXT: [6]: HasSideEffects (U)

# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
# CHECK-NEXT:  1      7     0.50    *                   vbroadcasti128	(%rax), %ymm0
# CHECK-NEXT:  1      3     1.00                        vbroadcastsd	%xmm0, %ymm0
# CHECK-NEXT:  1      3     1.00                        vbroadcastss	%xmm0, %ymm0
# CHECK-NEXT:  1      3     1.00                        vextracti128	$1, %ymm0, %xmm2
# CHECK-NEXT:  2      1     1.00           *            vextracti128	$1, %ymm0, (%rax)
# CHECK-NEXT:  5      18    1.00    *                   vgatherdpd	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  5      20    2.00    *                   vgatherdpd	%ymm0, (%rax,%xmm1,2), %ymm2
# CHECK-NEXT:  5      20    2.00    *                   vgatherdps	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  5      22    4.00    *                   vgatherdps	%ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT:  5      18    1.00    *                   vgatherqpd	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  5      20    2.00    *                   vgatherqpd	%ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT:  5      18    1.00    *                   vgatherqps	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  5      20    2.00    *                   vgatherqps	%xmm0, (%rax,%ymm1,2), %xmm2
# CHECK-NEXT:  1      3     1.00                        vinserti128	$1, %xmm0, %ymm1, %ymm2
# CHECK-NEXT:  2      7     0.50    *                   vinserti128	$1, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      7     0.50    *                   vmovntdqa	(%rax), %ymm0
# CHECK-NEXT:  2      4     2.00                        vmpsadbw	$1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT:  3      11    2.00    *                   vmpsadbw	$1, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpabsb	%ymm0, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpabsb	(%rax), %ymm2
# CHECK-NEXT:  1      1     0.50                        vpabsd	%ymm0, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpabsd	(%rax), %ymm2
# CHECK-NEXT:  1      1     0.50                        vpabsw	%ymm0, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpabsw	(%rax), %ymm2
# CHECK-NEXT:  1      1     1.00                        vpackssdw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpackssdw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpacksswb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpacksswb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpackusdw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpackusdw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpackuswb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpackuswb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpaddb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpaddb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpaddd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpaddd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpaddq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpaddq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpaddsb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpaddsb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpaddsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpaddsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpaddusb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpaddusb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpaddusw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpaddusw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpaddw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpaddw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpalignr	$1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpalignr	$1, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpand	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpand	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpandn	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpandn	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpavgb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpavgb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpavgw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpavgw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpblendd	$11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT:  2      7     0.50    *                   vpblendd	$11, (%rax), %xmm1, %xmm2
# CHECK-NEXT:  1      1     0.33                        vpblendd	$11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpblendd	$11, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  2      2     0.67                        vpblendvb	%ymm3, %ymm0, %ymm1, %ymm2
# CHECK-NEXT:  3      8     0.67    *                   vpblendvb	%ymm3, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpblendw	$11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpblendw	$11, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      3     1.00                        vpbroadcastb	%xmm0, %xmm0
# CHECK-NEXT:  2      7     1.00    *                   vpbroadcastb	(%rax), %xmm0
# CHECK-NEXT:  1      3     1.00                        vpbroadcastb	%xmm0, %ymm0
# CHECK-NEXT:  2      8     1.00    *                   vpbroadcastb	(%rax), %ymm0
# CHECK-NEXT:  1      1     1.00                        vpbroadcastd	%xmm0, %xmm0
# CHECK-NEXT:  1      6     0.50    *                   vpbroadcastd	(%rax), %xmm0
# CHECK-NEXT:  1      3     1.00                        vpbroadcastd	%xmm0, %ymm0
# CHECK-NEXT:  1      7     0.50    *                   vpbroadcastd	(%rax), %ymm0
# CHECK-NEXT:  1      1     1.00                        vpbroadcastq	%xmm0, %xmm0
# CHECK-NEXT:  1      6     0.50    *                   vpbroadcastq	(%rax), %xmm0
# CHECK-NEXT:  1      3     1.00                        vpbroadcastq	%xmm0, %ymm0
# CHECK-NEXT:  1      7     0.50    *                   vpbroadcastq	(%rax), %ymm0
# CHECK-NEXT:  1      3     1.00                        vpbroadcastw	%xmm0, %xmm0
# CHECK-NEXT:  2      7     1.00    *                   vpbroadcastw	(%rax), %xmm0
# CHECK-NEXT:  1      3     1.00                        vpbroadcastw	%xmm0, %ymm0
# CHECK-NEXT:  2      8     1.00    *                   vpbroadcastw	(%rax), %ymm0
# CHECK-NEXT:  1      1     0.50                        vpcmpeqb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpcmpeqb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpcmpeqd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpcmpeqd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpcmpeqq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpcmpeqq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpcmpeqw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpcmpeqw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpcmpgtb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpcmpgtb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpcmpgtd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpcmpgtd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      3     1.00                        vpcmpgtq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      10    1.00    *                   vpcmpgtq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpcmpgtw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpcmpgtw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      3     1.00                        vperm2i128	$1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      10    1.00    *                   vperm2i128	$1, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      3     1.00                        vpermd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      10    1.00    *                   vpermd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      3     1.00                        vpermpd	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      10    1.00    *                   vpermpd	$1, (%rax), %ymm2
# CHECK-NEXT:  1      3     1.00                        vpermps	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      10    1.00    *                   vpermps	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      3     1.00                        vpermq	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      10    1.00    *                   vpermq	$1, (%rax), %ymm2
# CHECK-NEXT:  5      20    2.00    *                   vpgatherdd	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  5      22    4.00    *                   vpgatherdd	%ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT:  5      18    1.00    *                   vpgatherdq	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  5      20    2.00    *                   vpgatherdq	%ymm0, (%rax,%xmm1,2), %ymm2
# CHECK-NEXT:  5      18    1.00    *                   vpgatherqd	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  5      20    2.00    *                   vpgatherqd	%xmm0, (%rax,%ymm1,2), %xmm2
# CHECK-NEXT:  5      18    1.00    *                   vpgatherqq	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  5      20    2.00    *                   vpgatherqq	%ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT:  3      3     2.00                        vphaddd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  4      10    2.00    *                   vphaddd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  3      3     2.00                        vphaddsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  4      10    2.00    *                   vphaddsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  3      3     2.00                        vphaddw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  4      10    2.00    *                   vphaddw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  3      3     2.00                        vphsubd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  4      10    2.00    *                   vphsubd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  3      3     2.00                        vphsubsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  4      10    2.00    *                   vphsubsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  3      3     2.00                        vphsubw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  4      10    2.00    *                   vphsubw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      5     0.50                        vpmaddubsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      12    0.50    *                   vpmaddubsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      5     0.50                        vpmaddwd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      12    0.50    *                   vpmaddwd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  2      7     0.50    *                   vpmaskmovd	(%rax), %xmm0, %xmm2
# CHECK-NEXT:  2      8     0.50    *                   vpmaskmovd	(%rax), %ymm0, %ymm2
# CHECK-NEXT:  2      2     1.00    *      *            vpmaskmovd	%xmm0, %xmm1, (%rax)
# CHECK-NEXT:  2      2     1.00    *      *            vpmaskmovd	%ymm0, %ymm1, (%rax)
# CHECK-NEXT:  2      7     0.50    *                   vpmaskmovq	(%rax), %xmm0, %xmm2
# CHECK-NEXT:  2      8     0.50    *                   vpmaskmovq	(%rax), %ymm0, %ymm2
# CHECK-NEXT:  2      2     1.00    *      *            vpmaskmovq	%xmm0, %xmm1, (%rax)
# CHECK-NEXT:  2      2     1.00    *      *            vpmaskmovq	%ymm0, %ymm1, (%rax)
# CHECK-NEXT:  1      1     0.50                        vpmaxsb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpmaxsb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpmaxsd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpmaxsd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpmaxsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpmaxsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpmaxub	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpmaxub	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpmaxud	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpmaxud	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpmaxuw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpmaxuw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpminsb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpminsb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpminsd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpminsd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpminsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpminsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpminub	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpminub	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpminud	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpminud	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpminuw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpminuw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      2     1.00                        vpmovmskb	%ymm0, %ecx
# CHECK-NEXT:  1      3     1.00                        vpmovsxbd	%xmm0, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpmovsxbd	(%rax), %ymm2
# CHECK-NEXT:  1      3     1.00                        vpmovsxbq	%xmm0, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpmovsxbq	(%rax), %ymm2
# CHECK-NEXT:  1      3     1.00                        vpmovsxbw	%xmm0, %ymm2
# CHECK-NEXT:  2      9     1.00    *                   vpmovsxbw	(%rax), %ymm2
# CHECK-NEXT:  1      3     1.00                        vpmovsxdq	%xmm0, %ymm2
# CHECK-NEXT:  2      9     1.00    *                   vpmovsxdq	(%rax), %ymm2
# CHECK-NEXT:  1      3     1.00                        vpmovsxwd	%xmm0, %ymm2
# CHECK-NEXT:  2      9     1.00    *                   vpmovsxwd	(%rax), %ymm2
# CHECK-NEXT:  1      3     1.00                        vpmovsxwq	%xmm0, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpmovsxwq	(%rax), %ymm2
# CHECK-NEXT:  1      3     1.00                        vpmovzxbd	%xmm0, %ymm2
# CHECK-NEXT:  2      10    1.00    *                   vpmovzxbd	(%rax), %ymm2
# CHECK-NEXT:  1      3     1.00                        vpmovzxbq	%xmm0, %ymm2
# CHECK-NEXT:  2      10    1.00    *                   vpmovzxbq	(%rax), %ymm2
# CHECK-NEXT:  1      3     1.00                        vpmovzxbw	%xmm0, %ymm2
# CHECK-NEXT:  2      10    1.00    *                   vpmovzxbw	(%rax), %ymm2
# CHECK-NEXT:  1      3     1.00                        vpmovzxdq	%xmm0, %ymm2
# CHECK-NEXT:  2      10    1.00    *                   vpmovzxdq	(%rax), %ymm2
# CHECK-NEXT:  1      3     1.00                        vpmovzxwd	%xmm0, %ymm2
# CHECK-NEXT:  2      9     1.00    *                   vpmovzxwd	(%rax), %ymm2
# CHECK-NEXT:  1      3     1.00                        vpmovzxwq	%xmm0, %ymm2
# CHECK-NEXT:  2      10    1.00    *                   vpmovzxwq	(%rax), %ymm2
# CHECK-NEXT:  1      5     0.50                        vpmuldq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      12    0.50    *                   vpmuldq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      5     0.50                        vpmulhrsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      12    0.50    *                   vpmulhrsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      5     0.50                        vpmulhuw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      12    0.50    *                   vpmulhuw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      5     0.50                        vpmulhw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      12    0.50    *                   vpmulhw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  2      10    1.00                        vpmulld	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  3      17    1.00    *                   vpmulld	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      5     0.50                        vpmullw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      12    0.50    *                   vpmullw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      5     0.50                        vpmuludq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      12    0.50    *                   vpmuludq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpor	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpor	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      3     1.00                        vpsadbw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      10    1.00    *                   vpsadbw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpshufb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpshufb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpshufd	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpshufd	$1, (%rax), %ymm2
# CHECK-NEXT:  1      1     1.00                        vpshufhw	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpshufhw	$1, (%rax), %ymm2
# CHECK-NEXT:  1      1     1.00                        vpshuflw	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpshuflw	$1, (%rax), %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsignb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsignb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsignd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsignd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsignw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsignw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpslld	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      4     1.00                        vpslld	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpslld	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpslldq	$1, %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsllq	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      4     1.00                        vpsllq	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsllq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsllvd	%xmm0, %xmm1, %xmm2
# CHECK-NEXT:  2      7     0.50    *                   vpsllvd	(%rax), %xmm1, %xmm2
# CHECK-NEXT:  1      1     0.50                        vpsllvd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsllvd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsllvq	%xmm0, %xmm1, %xmm2
# CHECK-NEXT:  2      7     0.50    *                   vpsllvq	(%rax), %xmm1, %xmm2
# CHECK-NEXT:  1      1     0.50                        vpsllvq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsllvq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsllw	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      4     1.00                        vpsllw	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsllw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsrad	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      4     1.00                        vpsrad	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsrad	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsravd	%xmm0, %xmm1, %xmm2
# CHECK-NEXT:  2      7     0.50    *                   vpsravd	(%rax), %xmm1, %xmm2
# CHECK-NEXT:  1      1     0.50                        vpsravd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsravd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsraw	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      4     1.00                        vpsraw	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsraw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsrld	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      4     1.00                        vpsrld	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsrld	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpsrldq	$1, %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsrlq	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      4     1.00                        vpsrlq	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsrlq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsrlvd	%xmm0, %xmm1, %xmm2
# CHECK-NEXT:  2      7     0.50    *                   vpsrlvd	(%rax), %xmm1, %xmm2
# CHECK-NEXT:  1      1     0.50                        vpsrlvd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsrlvd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsrlvq	%xmm0, %xmm1, %xmm2
# CHECK-NEXT:  2      7     0.50    *                   vpsrlvq	(%rax), %xmm1, %xmm2
# CHECK-NEXT:  1      1     0.50                        vpsrlvq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsrlvq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsrlw	$1, %ymm0, %ymm2
# CHECK-NEXT:  2      4     1.00                        vpsrlw	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsrlw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpsubb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsubb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpsubd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsubd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpsubq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsubq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsubsb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsubsb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsubsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsubsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsubusb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsubusb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.50                        vpsubusw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsubusw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpsubw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpsubw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpunpckhbw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpunpckhbw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpunpckhdq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpunpckhdq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpunpckhqdq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpunpckhqdq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpunpckhwd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpunpckhwd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpunpcklbw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpunpcklbw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpunpckldq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpunpckldq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpunpcklqdq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpunpcklqdq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     1.00                        vpunpcklwd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  1      1     0.33                        vpxor	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  2      8     0.50    *                   vpxor	(%rax), %ymm1, %ymm2

# CHECK:      Resources:
# CHECK-NEXT: [0]   - SKXDivider
# CHECK-NEXT: [1]   - SKXFPDivider
# CHECK-NEXT: [2]   - SKXPort0
# CHECK-NEXT: [3]   - SKXPort1
# CHECK-NEXT: [4]   - SKXPort2
# CHECK-NEXT: [5]   - SKXPort3
# CHECK-NEXT: [6]   - SKXPort4
# CHECK-NEXT: [7]   - SKXPort5
# CHECK-NEXT: [8]   - SKXPort6
# CHECK-NEXT: [9]   - SKXPort7

# CHECK:      Resource pressure per iteration:
# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
# CHECK-NEXT:  -      -     110.33 89.33  99.67  99.67  1.00   164.33  -     1.67

# CHECK:      Resource pressure by instruction:
# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     vbroadcasti128	(%rax), %ymm0
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vbroadcastsd	%xmm0, %ymm0
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vbroadcastss	%xmm0, %ymm0
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vextracti128	$1, %ymm0, %xmm2
# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   vextracti128	$1, %ymm0, (%rax)
# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.00    -     1.33    -      -     vgatherdpd	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  -      -     1.33   0.33   2.00   2.00    -     1.33    -      -     vgatherdpd	%ymm0, (%rax,%xmm1,2), %ymm2
# CHECK-NEXT:  -      -     1.33   0.33   2.00   2.00    -     1.33    -      -     vgatherdps	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  -      -     1.33   0.33   4.00   4.00    -     1.33    -      -     vgatherdps	%ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.00    -     1.33    -      -     vgatherqpd	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  -      -     1.33   0.33   2.00   2.00    -     1.33    -      -     vgatherqpd	%ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.00    -     1.33    -      -     vgatherqps	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  -      -     1.33   0.33   2.00   2.00    -     1.33    -      -     vgatherqps	%xmm0, (%rax,%ymm1,2), %xmm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vinserti128	$1, %xmm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vinserti128	$1, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     vmovntdqa	(%rax), %ymm0
# CHECK-NEXT:  -      -      -      -      -      -      -     2.00    -      -     vmpsadbw	$1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     vmpsadbw	$1, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpabsb	%ymm0, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpabsb	(%rax), %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpabsd	%ymm0, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpabsd	(%rax), %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpabsw	%ymm0, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpabsw	(%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpackssdw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpackssdw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpacksswb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpacksswb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpackusdw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpackusdw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpackuswb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpackuswb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpaddusw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpaddusw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpaddw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpaddw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpalignr	$1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpalignr	$1, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpand	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpand	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpandn	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpandn	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpavgw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpavgw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendd	$11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendd	$11, (%rax), %xmm1, %xmm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpblendd	$11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpblendd	$11, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.67   0.67    -      -      -     0.67    -      -     vpblendvb	%ymm3, %ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.67   0.67   0.50   0.50    -     0.67    -      -     vpblendvb	%ymm3, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpblendw	$11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpblendw	$11, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb	%xmm0, %xmm0
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastb	(%rax), %xmm0
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastb	%xmm0, %ymm0
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastb	(%rax), %ymm0
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastd	%xmm0, %xmm0
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     vpbroadcastd	(%rax), %xmm0
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastd	%xmm0, %ymm0
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     vpbroadcastd	(%rax), %ymm0
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastq	%xmm0, %xmm0
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     vpbroadcastq	(%rax), %xmm0
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastq	%xmm0, %ymm0
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     vpbroadcastq	(%rax), %ymm0
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw	%xmm0, %xmm0
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastw	(%rax), %xmm0
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpbroadcastw	%xmm0, %ymm0
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpbroadcastw	(%rax), %ymm0
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpeqb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpeqb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpeqd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpeqd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpeqq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpeqq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpeqw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpeqw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpgtb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpgtb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpgtd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpgtd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpcmpgtq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpcmpgtq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpcmpgtw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpcmpgtw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vperm2i128	$1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vperm2i128	$1, (%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpermd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpermd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpermpd	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpermpd	$1, (%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpermps	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpermps	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpermq	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpermq	$1, (%rax), %ymm2
# CHECK-NEXT:  -      -     1.33   0.33   2.00   2.00    -     1.33    -      -     vpgatherdd	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  -      -     1.33   0.33   4.00   4.00    -     1.33    -      -     vpgatherdd	%ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.00    -     1.33    -      -     vpgatherdq	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  -      -     1.33   0.33   2.00   2.00    -     1.33    -      -     vpgatherdq	%ymm0, (%rax,%xmm1,2), %ymm2
# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.00    -     1.33    -      -     vpgatherqd	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  -      -     1.33   0.33   2.00   2.00    -     1.33    -      -     vpgatherqd	%xmm0, (%rax,%ymm1,2), %xmm2
# CHECK-NEXT:  -      -     1.33   0.33   1.00   1.00    -     1.33    -      -     vpgatherqq	%xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT:  -      -     1.33   0.33   2.00   2.00    -     1.33    -      -     vpgatherqq	%ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vphaddd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vphaddd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     2.00    -      -     vphaddsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     2.00    -      -     vphaddsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vphaddw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vphaddw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vphsubd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vphsubd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     2.00    -      -     vphsubsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -     2.00    -      -     vphsubsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     2.33    -      -     vphsubw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     2.33    -      -     vphsubw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddubsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddubsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaddwd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaddwd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpmaskmovd	(%rax), %xmm0, %xmm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpmaskmovd	(%rax), %ymm0, %ymm2
# CHECK-NEXT:  -      -     1.00    -     0.33   0.33    -      -      -     0.33   vpmaskmovd	%xmm0, %xmm1, (%rax)
# CHECK-NEXT:  -      -     1.00    -     0.33   0.33    -      -      -     0.33   vpmaskmovd	%ymm0, %ymm1, (%rax)
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpmaskmovq	(%rax), %xmm0, %xmm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpmaskmovq	(%rax), %ymm0, %ymm2
# CHECK-NEXT:  -      -     1.00    -     0.33   0.33    -      -      -     0.33   vpmaskmovq	%xmm0, %xmm1, (%rax)
# CHECK-NEXT:  -      -     1.00    -     0.33   0.33    -      -      -     0.33   vpmaskmovq	%ymm0, %ymm1, (%rax)
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxub	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxub	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxud	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxud	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmaxuw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmaxuw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminub	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminub	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminud	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminud	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpminuw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpminuw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     vpmovmskb	%ymm0, %ecx
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovsxbd	%xmm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovsxbd	(%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovsxbq	%xmm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovsxbq	(%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovsxbw	%xmm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovsxbw	(%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovsxdq	%xmm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovsxdq	(%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovsxwd	%xmm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovsxwd	(%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovsxwq	%xmm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovsxwq	(%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovzxbd	%xmm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovzxbd	(%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovzxbq	%xmm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovzxbq	(%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovzxbw	%xmm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovzxbw	(%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovzxdq	%xmm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovzxdq	(%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovzxwd	%xmm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovzxwd	(%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpmovzxwq	%xmm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpmovzxwq	(%rax), %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmuldq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmuldq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhrsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhrsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhuw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhuw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmulhw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmulhw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     vpmulld	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     vpmulld	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmullw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmullw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpmuludq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpmuludq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpor	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpor	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpsadbw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpsadbw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpshufb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpshufb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpshufd	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpshufd	$1, (%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpshufhw	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpshufhw	$1, (%rax), %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpshuflw	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpshuflw	$1, (%rax), %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsignb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsignb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsignd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsignd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsignw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsignw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpslld	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpslld	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpslld	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpslldq	$1, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllq	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsllq	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllvd	%xmm0, %xmm1, %xmm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllvd	(%rax), %xmm1, %xmm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllvd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllvd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllvq	%xmm0, %xmm1, %xmm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllvq	(%rax), %xmm1, %xmm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllvq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllvq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsllw	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsllw	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsllw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrad	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsrad	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrad	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsravd	%xmm0, %xmm1, %xmm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsravd	(%rax), %xmm1, %xmm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsravd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsravd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsraw	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsraw	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsraw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrld	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsrld	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrld	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpsrldq	$1, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlq	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsrlq	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlvd	%xmm0, %xmm1, %xmm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlvd	(%rax), %xmm1, %xmm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlvd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlvd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlvq	%xmm0, %xmm1, %xmm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlvq	(%rax), %xmm1, %xmm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlvq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlvq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsrlw	$1, %ymm0, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     1.00    -      -     vpsrlw	%xmm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsrlw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubsw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubsw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusb	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusb	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     vpsubusw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -     vpsubusw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpsubw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpsubw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpunpckhbw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpunpckhbw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpunpckhdq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpunpckhdq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpunpckhqdq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpunpckhqdq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpunpckhwd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpunpckhwd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpunpcklbw	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpunpcklbw	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpunpckldq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpunpckldq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpunpcklqdq	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpunpcklqdq	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     vpunpcklwd	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     vpunpcklwd	(%rax), %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33    -      -      -     0.33    -      -     vpxor	%ymm0, %ymm1, %ymm2
# CHECK-NEXT:  -      -     0.33   0.33   0.50   0.50    -     0.33    -      -     vpxor	(%rax), %ymm1, %ymm2
